#===istalismanplugin===
# -*- coding: utf-8 -*-

# $Revision: 65 $
# $Author: rchiganov@gmail.com $
# $Date: 2013-12-26 04:48:15 +0000 (Thu, 26 Dec 2013) $

#---------------------------------------------------------------------------------------------------

# Лютик Bot plugin
# antispace_plugin.py

# Coded by: WitcherGeralt (WitcherGeralt@jabber.ru)

# Доработан мной

#---------------------------------------------------------------------------------------------------

ANTISPACE_FILE = 'dynamic/antispace.txt'

#---------------------------------------------------------------------------------------------------

def antispace_join ( pgroupchat, pnick, pafl, prole ):
	global ANTISPACE_FILE

	vika_check_file(ANTISPACE_FILE, u'{}')

	ldata = eval(read_file(ANTISPACE_FILE))

	if not pgroupchat in ldata:
		ldata[pgroupchat] = [u'выкл']
		write_file(ANTISPACE_FILE, str(ldata))

	if ldata[pgroupchat] == [u'выкл']:
		return

	if pnick.count(' ') and user_level(pgroupchat + '/' + pnick, pgroupchat) < 14:
		order_kick(pgroupchat, pnick, 'Пробел в нике запрещен!')

#---------------------------------------------------------------------------------------------------

def antispace_message ( praw, ptype, psource, pparameters ):
	global ANTISPACE_FILE

	if not psource[1] in GROUPCHATS:
		return

	vika_check_file(ANTISPACE_FILE, u'{}')

	ldata = eval(read_file(ANTISPACE_FILE))
	if ldata[psource[1]] == [u'выкл']:
		return

	if psource[2].count(' ') and user_level(psource[1] + '/' + psource[2], psource[1]) < 14:
		reply('private' ,psource, u'В этой комнате запрещен пробел в нике\nВместо пробела используйте нижнее тере "_"\n\nСпасибо за понимание! Администрация чата.')
		order_kick(psource[1], psource[2], 'Пробел в нике запрещен!')

#---------------------------------------------------------------------------------------------------

def antispace_control ( type, source, parameters ):
        global ANTISPACE_FILE
        if parameters:
                parameters=parameters.split()
                check = parameters[0].strip()
                vika_check_file(ANTISPACE_FILE, u'{}')
                go = eval(read_file(ANTISPACE_FILE))
                if len(parameters)>1:
                        reply(type, source, u'вкл или выкл... других вариантов нет...')
                        return
                if check == u'вкл':
                        go[source[1]]=parameters
                        write_file(ANTISPACE_FILE,str(go))
                        reply(type, source, u'антиспэйс включен')
                elif check == u'выкл':
                        go[source[1]]=parameters
                        write_file(ANTISPACE_FILE,str(go))
                        reply(type, source, u'антиспэйс выключен')
                else:
                        reply(type, source, u'читай помощь по команде')
        else:
                reply(type, source, u'инвалид синтакс')

#---------------------------------------------------------------------------------------------------

register_join_handler(antispace_join)
register_message_handler(antispace_message)

register_command_handler(antispace_control, 'пробел', [ 'админ', 'все' ], 30, 'Запрет на пробелы в никах', 'пробел <вкл/выкл>', [ 'пробел вкл', 'пробел выкл' ])

#---------------------------------------------------------------------------------------------------